
function [xg] = getIC_Coe(resultTemp , aux)
%
% 构造打靶变量
%
% 注：
% 1）节点1（LEO）和节点N（LLO）都构造为轨道根数以提高收敛性
%
% 作者：张晨
% 邮箱：chenzhang@csu.ac.cn
% 单位：中国科学院空间应用工程与技术中心，空间探索室
% 时间：2021年08月25日
%%%%%%%%%%%%%%%%%%%%%%%%

% 提取参数
tau1 = resultTemp(1);
xx1 = resultTemp(2 : 5);
tauf = resultTemp(6);
xxf = resultTemp(7 : 10);

% -------------------- 构造打靶初值 --------------------
% 积分
options = odeset('RelTol' , aux.tol , 'AbsTol' , aux.tol);
[seg_tt , seg_xx] = ode113(@Bcr4bp_EqmEMRot2D , [tauf , tau1] , xxf' , options , aux);
seg_tt = flipud(seg_tt);
seg_xx = flipud(seg_xx);

% 离散点状态
tt_interp = linspace(seg_tt(1) , seg_tt(end) , aux.nNode)';
xx_interp = interp1(seg_tt , seg_xx , tt_interp , 'spline');
xx_interp_temp = xx_interp;

% 【新增】为提高收敛性，第一个节点（LEO）和最后一个节点（LLO）使用轨道根数表示
xx_interp_temp(1 , :) = Bcr4bp_xx2varEMRot2D(xx_interp_temp(1 , :) , 'leo' , aux);
xx_interp_temp(end , :) = Bcr4bp_xx2varEMRot2D(xx_interp_temp(end , :) , 'llo' , aux);

% LEO -> LLO
temp = xx_interp_temp';
xg = [temp(:); % 状态
    tau1; % 任务开始时间
    tauf]; % 任务结束时间

% 【画EMRot轨道】
figure(1); hold on; grid on;
Bcr4bp_ScnEMRot(tauf , aux);
plotOrb2D(seg_xx , 'b' , 2);
% plotOrb2D(xx_interp , 'bx' , 2);

% 【画SB1Rot轨道】
figure(2); hold on; grid on;
[tau_SB1Rot , xb2c_SB1Rot] = Bcr4bp_EMRot2SB1RotMtx2D(seg_tt , seg_xx , aux);
Bcr4bp_ScnSB1Rot(tau_SB1Rot(end) , aux);
plotOrb2D(xb2c_SB1Rot , 'b' , 2);

end